]> dgit.raspbian.org Git - gnome-shell.git/commit
st: Only use clutter_actor_invalidate_paint_volume() if the API exists
authorJonas Dreßler <verdre@v0yd.nl>
Mon, 12 Apr 2021 18:49:10 +0000 (20:49 +0200)
committerMarge Bot <marge-bot@gnome.org>
Mon, 26 Apr 2021 12:18:52 +0000 (12:18 +0000)
commit1cefd589da2edca84d19b285d553e2a68cda3e37
tree876eb777377b8fdb37cf2af72d5f3efdadf0d340
parentd7ad8da48d432cad3398e49e13f856ba5faece9a
st: Only use clutter_actor_invalidate_paint_volume() if the API exists

With commits fab39bbea5d9a7a0330a1be548f8ee26cd7e3131 and
62e40a13506b4481a50944be886b36566c464dc0 we started depending on a new
ClutterActor API: clutter_actor_invalidate_paint_volume()

Given that this commit was applied to the 40 stable release, it broke
ABI compatibility with mutter, which is something we guarantee between
stable releases. So use GModule to dynamically find the symbol in our
loaded libraries. If it exists, use it and invalidate the paint volume.
If it doesn't exist, libmutter is still at version 40.0 and we don't
need to invalidate the paint volume.

This also adds a dependency on gmodule. We need to link against gmodule
to use g_module_open() and g_module_symbol() APIs.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1807>
meson.build
src/st/meson.build
src/st/st-viewport.c
src/st/st-widget.c